package main

import "fmt"

/*
在小明的学校，每一年开学都会发教材，
主要包括语文书、数学书、英语书，还有各种练习试卷。
这一天，小明去领了三本教材，分别是语文书、数学书和英语书，老师忙不过来，指定某个同学去发书，
同学们都去这个同学这里去领书。这个同学就是工厂。
*/
type Book interface {
	Name() string
}
type chineseBook struct {
	name string
}

func (cb *chineseBook) Name() string {
	return cb.name
}

type mathBook struct {
	name string
}

func (mb *mathBook) Name() string {
	return mb.name
}

type englishBook struct {
	name string
}

func (eb *englishBook) Name() string {
	return eb.name
}
func GetBook(name string) Book {
	switch name {
	case "语文书":
		return &chineseBook{name: name}
	case "数学书":
		return &mathBook{name: name}
	case "英语书":
		return &englishBook{name: name}
	default:
		return nil
	}
}
func main() {
	fmt.Println(GetBook("语文书"))
	fmt.Println(GetBook("数学书"))
}
